#include "list.hpp"
#include "Student.hpp"

void delStudentInfo();
void delByName();
void delById();
using namespace std;

void delStudentInfo(){
	//system("cls");
	while(1){
        printf("======================\n");
        printf("|  学生搬出（删除学生住宿信息）       \n");
        printf("| 0. 退出                         \n");
        printf("| 1. 通过姓名查找删除             \n");
        printf("| 2. 通过学号查找删除             \n");
        printf("======================\n");
        printf("请输入上面的标号: ");
        int k;
		cin>>k;
        printBlank();
        if (k==1) delByName();
        if (k==2) delById();
        if (k==0) break;
    }
}

void delByName(){
	//system("cls");
	while(1){
        printf("请输入要删除住宿信息的学生的姓名:");
        std::string s;
        std::cin>>s;
        Student* stu= allStudents.findByName(s);
        if (stu){
            if (stu->getbedId())allBuildings.delOne(stu);
            printf("删除住宿信息成功\n");
        }
        else printf("未找到此人\n");
        printf("==========================\n");
        printf("   1.继续删除     0.退出\n");
        printf("==========================\n");
        string k;
		cin>>k;
        if (k=="0") break;
    }
}

void delById(){
	//system("cls");
	while(1){
        printf("请输入要删除住宿信息的学生的学号:");
        int id;
        std::cin>>id;
        Student* stu= allStudents.findById(id);
        if (stu){
            if (stu->getbedId()) allBuildings.delOne(stu);
            printf("删除住宿信息成功\n");
        }
        else printf("未找到此人\n");
        printf("==========================\n");
        printf("   1.继续删除     0.退出\n");
        printf("==========================\n");
        string k;
		cin>>k;
        if (k=="0") break;
    }
}
